Medical images often contain substantial amounts of noise which has to be reduced to improve the diagnostic value of the images. To reduce noise and other artefacts, various filtering and smoothing techniques, in particular low-pass filtering for noise reduction is known in the art.
In particular, raw ultrasound data is usually filtered before the image is used for further processing, such as volume rendering of a three-dimensional dataset.
Raw ultrasound image data, however, are often not immediately available in Cartesian coordinates, but in acoustic coordinates. A two-dimensional image slice, for example, usually has the shape of a fan, because the ultrasound beams diverge from the ultrasound transducer. Therefore, the pixels along one ultrasound beam will have a varying size: The pixels closer to the transducer (the near-field) cover a smaller area each, due to the close spacing of the ultrasound beams, while the pixels far away from the transducer (the far-field) are more spaced out and therefore larger in azimuthal direction. The same problem arises if a three-dimensional image is acquired by means of a mechanical sector scanner. Such a scanner comprises an ultrasound transducer which is pivotally mounted and rotates in between individual scans by a certain angle. With this geometry, a three-dimensional dataset will have the form of a cone with acoustic coordinates. An acoustic coordinate system may be approximately like polar coordinates, but may also be different and is often specific to the device manufacturer.
When applying a normal filtering/smoothing method using a fixed kernel on a dataset having a spatially varying pixel size as described above, the kernel will be too small for those areas where the pixels are close together (in the near-field), and too big for those areas in the far-field where the pixels are far apart. Therefore, there will be too much details lost in the far-field, while the filtering/smoothing may not be sufficient in the near-field.
One solution to this problem is to resample the data to Cartesian coordinates before rendering. However, this resampling step is time intensive and therefore not suitable for real-time applications.
Another solution would be to vary the size of the filter kernel over the image dataset. The main drawback of such a spatially varying kernel is the computational complexity: For each voxel a suitable kernel size has to be determined and the corresponding kernel weights have to be computed. This is acceptable for offline pre-processing, but not suitable for real-time applications that need to run at 20 Hz or higher.